﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 创建者：王明亮
 * 创建时间：2023/9/17 22:40:55
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace FluentSchedulerApp.Model
{
    /// <summary>
    /// JobConfig 定时任务信息实体
    /// </summary>
    public class JobConfig
    {
        /// <summary>
        /// Job的名称
        /// </summary>
        public string JobName { get; set; }

        /// <summary>
        /// 任务类型
        /// </summary>
        public JobTypeEnum JobType { get; set; }
        /// <summary>
        /// X的次数
        /// </summary>
        public int TimeCount { get; set; }
        /// <summary>
        /// 每周几
        /// </summary>
        public int DayInWeek { get; set; }

        /// <summary>
        /// 每月几号
        /// </summary>
        public int DayInMonth { get; set; }
        /// <summary>
        /// 定时任务的执行时间
        /// </summary>
        public string JobTime { get; set; }
        /// <summary>
        /// 插件名称
        /// </summary>
        public string PluginName { get; set; }
    }

    public enum JobTypeEnum : byte
    {
        /// <summary>
        /// 只执行一次
        /// </summary>
        Once = 1,
        /// <summary>
        /// 每X秒执行一次
        /// </summary>
        Second = 2,
        /// <summary>
        /// 每X分钟执行一次
        /// </summary>
        Minute = 3,
        /// <summary>
        /// 每X小时执行一次
        /// </summary>
        Hour = 4,
        /// <summary>
        /// 每X天执行一次
        /// </summary>
        Day = 5,
        /// <summary>
        /// 每周X执行一次
        /// </summary>
        Week = 6,
        /// <summary>
        /// 每月X号执行一次
        /// </summary>
        Month = 7,
        /// <summary>
        /// 每年执行一次
        /// </summary>
        Year = 8
    }
}
